home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / FDATE68A.ARJ / FDATEX.BAT < prev    next >
DOS Batch File  |  1992-07-30  |  26KB  |  758 lines

  1. @ECHO off
  2. BREAK ON
  3. if not (%1)==() goto %1
  4. CLS
  5. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  6. echo ║         FDATEX: Demonstration batch file for FDATE                          ║
  7. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  8. echo.
  9. echo.
  10. echo This batch file uses ANSI.SYS to control the appearance and color
  11. echo of some of the headings.
  12.  
  13. echo.
  14. echo If you do not have ANSI.SYS installed, you may see garbage on the
  15. echo screen next to some of the headings, such as the one at the top of
  16. echo this screen, but the batch file will work correctly otherwise.
  17.  
  18. echo.
  19. echo.
  20. echo.
  21. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  22. echo ║        The first thing we will do is to test the HELP screen.               ║
  23. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  24. PAUSE
  25.  
  26. cls
  27. FDATE
  28. PAUSE
  29. ECHO ON
  30.  
  31. @echo off
  32. CLS
  33. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  34. echo ║                TEST   OUTPUT FORMATS (#1)                                   ║
  35. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  36. @echo on
  37. FDATE /Ff /Atoday /Occyy
  38. FDATE /Ff /At /Occyymm
  39. FDATE /Ff /At /Occyymmdd
  40. FDATE /Ff /At /Oyymmdd
  41. FDATE /Ff /At /Ommdd
  42. @echo off
  43. @PAUSE
  44.  
  45. @echo off
  46. CLS
  47. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  48. echo ║                TEST   OUTPUT FORMATS (#1b)                                  ║
  49. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  50. @echo on
  51. FDATE /Ff /At /Odd
  52. FDATE /Ff /At /Ozd
  53. FDATE /Ff /At /Odd-mn3-yy
  54. FDATE /Ff /At /Odd-mn3-yy /Lfr
  55. FDATE /Ff /At /Odd-mn3-yy /Lsp
  56. @echo off
  57. @PAUSE
  58.  
  59. @echo off
  60. CLS
  61. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  62. echo ║                TEST   OUTPUT FORMATS (#1c)                                  ║
  63. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  64. @echo on
  65. FDATE /Ff /At /Oddmn3yy
  66. FDATE /Ff /At /Oyy
  67. @echo off
  68. @PAUSE
  69.  
  70. CLS
  71. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  72. echo ║                TEST   OUTPUT FORMATS (#2)                                   ║
  73. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  74. @echo on
  75. FDATE /Ff /Omm-dd-ccyy
  76. FDATE /Ff /Ozm-zd-ccyy
  77. FDATE /Ff /Omm/dd/ccyy
  78. FDATE /Ff /Ozm/zd/ccyy
  79. @echo off
  80. PAUSE
  81.  
  82. CLS
  83. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  84. echo ║                TEST   OUTPUT FORMATS (BRITISH)                              ║
  85. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  86. @echo on
  87. FDATE /Ff /Odd.mm.ccyy
  88. FDATE /Ff /Ozd.zm.ccyy
  89. FDATE /Ff /Odd.mm.yy
  90. FDATE /Ff /Ozd.zm.yy
  91. @echo off
  92. PAUSE
  93.  
  94. CLS
  95. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  96. echo ║                TEST   OUTPUT FORMATS (#3)                                   ║
  97. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  98. @echo on
  99. FDATE /Ff /At /Odow#
  100. FDATE /Ff /At /Odow
  101. FDATE /Ff /At /Odow3
  102. FDATE /Ff /At /Odow  /Lfr
  103. FDATE /Ff /At /Odow3 /Lfr
  104. FDATE /Ff /At /Odow3 /Lsp
  105. @echo off
  106. PAUSE
  107.  
  108. CLS
  109. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  110. echo ║                TEST   OUTPUT FORMATS (#4)                                   ║
  111. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  112. @echo on
  113. FDATE /Ff /At /O"mn zd, ccyy"
  114. FDATE /Ff /At /O"mn3 dd ccyy"
  115. FDATE /Ff /At /O"mn3 dd, ccyy"
  116. FDATE /Ff /At /O"mn zd, ccyy"  /Lfr
  117. FDATE /Ff /At /O"mn zd, ccyy"  /Lsp
  118. FDATE /Ff /At /O"mn3 dd ccyy"  /Lfr
  119. FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
  120. @echo off
  121. PAUSE
  122.  
  123. CLS
  124. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  125. echo ║                TEST   OUTPUT FORMATS (#5)                                   ║
  126. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  127. @echo on
  128. FDATE /Ff /At /O"zd mn ccyy"
  129. FDATE /Ff /At /O"zd mn, ccyy"
  130. FDATE /Ff /At /O"zd mn ccyy"  /Lfr
  131. FDATE /Ff /At /O"zd mn, ccyy" /Lfr
  132. @echo off
  133. PAUSE
  134.  
  135. CLS
  136. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  137. echo ║                TEST   OUTPUT FORMATS (#6)                                   ║
  138. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  139. @echo on
  140. Fdate /Ff /Occyy-mm-dd
  141. Fdate /Ff /Occyy/mm/dd
  142. Fdate /Ff /Occyy.mm.dd
  143. Fdate /Ff /Oyy-mm-dd
  144. Fdate /Ff /Oyy/mm/dd
  145. Fdate /Ff /Oyy.mm.dd
  146. @echo off
  147. PAUSE
  148.  
  149. CLS
  150. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  151. echo ║                TEST   OUTPUT FORMATS (TIME)                                 ║
  152. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  153. @echo on
  154. FDATE /Ff /At /Ot1
  155. FDATE /Ff /At /Ohh:mm
  156. FDATE /Ff /At /Ohh:mm:ss
  157. @echo off
  158. PAUSE
  159.  
  160. CLS
  161. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  162. echo ║                TEST   OUTPUT FORMATS (DATE ABBREVIATIONS)                   ║
  163. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  164. @echo on
  165. FDATE /Ff
  166. FDATE /Ff /Ofull
  167. FDATE /Ff /Lfr
  168. FDATE /Ff /Ofull /Lfr
  169. FDATE /Ff /Ofull /Lsp
  170. FDATE /Ff /Oly /P"Leap-year flag is: " /S" [0=normal, 1=leapyear]"
  171. @echo off
  172. PAUSE
  173. :julian
  174. CLS
  175. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  176. echo ║                TEST   OUTPUT FORMATS ("JULIAN" OUTPUTS)                     ║
  177. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  178. @echo on
  179. FDATE /Ff /Oday#     /P"Absolute date : "
  180. FDATE /Ff /Ominute#  /P"Julian minutes: "
  181. FDATE /Ff /Osecond#  /P"Julian seconds: "
  182. @pause
  183.  
  184. @cls
  185. FDATE /Ff /Occyyjjj  /P"Julian date is: "
  186. FDATE /Ff /Oyyjjj    /P"Julian date is: "
  187. FDATE /Ff /Ojjj      /P"Julian date is: "
  188. FDATE /Ff /Ozzj      /P"Julian date is: "
  189. FDATE /Ff /Ojulian   /P"Julian date is: "
  190. @echo off
  191. PAUSE
  192.  
  193. :IN
  194. CLS
  195. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  196. echo ║                TEST   INPUT  FORMATS                                        ║
  197. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  198. echo.
  199. @echo TEST PSEUDO-DATES   /AT  (/ATODAY)
  200. @echo ─────────────────────────────────────────────────────────────────
  201. @echo on
  202. FDATE /Ff /Atoday
  203. FDATE /Ff /At
  204. @Pause
  205. cls
  206. @ECHO TEST PSEUDO-DATES     /ICCYYMMDD
  207. @echo ─────────────────────────────────────────────────────────────────
  208. FDATE /Ff /Atttt1126  /Iccyymmdd
  209. FDATE /Ff /A1991tt26  /Iccyymmdd
  210. FDATE /Ff /A199211tt  /Iccyymmdd
  211. FDATE /Ff /Atttttttt  /Iccyymmdd
  212. @Pause
  213. cls
  214. @ECHO TEST PSEUDO-DATES
  215. @echo ─────────────────────────────────────────────────────────────────
  216. FDATE /Ff /A11-26-tttt
  217. FDATE /Ff /A11-tt-1992
  218. FDATE /Ff /Att-26-1992
  219. FDATE /Ff /Att-tt-tttt
  220. @Pause
  221. cls
  222. @ECHO TEST PSEUDO-DATES     /IMM-DD-YY
  223. @echo ─────────────────────────────────────────────────────────────────
  224. FDATE /Ff /A11-26-tt /Imm-dd-yy
  225. FDATE /Ff /A11-tt-92 /Imm-dd-yy
  226. FDATE /Ff /Att-26-92 /Imm-dd-yy
  227. FDATE /Ff /Att-tt-tt /Imm-dd-yy
  228. @PAUSE
  229.  
  230. CLS
  231. @echo TEST INPUT FORMATS
  232. @echo ─────────────────────────────────────────────────────────────────
  233. FDATE /Ff /Imm-dd-ccyy /A12-07-1991
  234. FDATE /Ff /Imm-dd-yy   /A12-07-91
  235. FDATE /Ff /Iccyymmdd   /A19911207
  236. @PAUSE
  237.  
  238. CLS
  239. @echo TEST INPUT FORMATS (British/European)
  240. @echo ─────────────────────────────────────────────────────────────────
  241. Fdate /Ff /Idd-mm-yy   /A2/5/92
  242. Fdate /Ff /Idd-mm-yy   /A2/5/10
  243. Fdate /Ff /Idd-mm-yy   /A12/12/10
  244. Fdate /Ff /Idd-mm-ccyy /A2/5/1992
  245. Fdate /Ff /Idd-mm-ccyy /A12/5/1992
  246. Fdate /Ff /Idd-mm-ccyy /A2/05/1992
  247. Fdate /Ff /Idd-mm-ccyy /A12/05/1992
  248. @PAUSE
  249.  
  250. CLS
  251. @echo TEST INPUT FORMATS  (/If ... GET INPUT DATE/TIME FROM A FILE)
  252. @echo ─────────────────────────────────────────────────────────────────
  253. FDATE /Ff /If /Afdatex.bat /P"The date on file FDATEX.BAT is: "
  254. FDATE /Ff /If /Afdatex.bat /P"The time on file FDATEX.BAT is: " /Ohh:mm:ss
  255. FDATE /Ff /If /Afdatex.bat /P"FDATEX.BAT was last updated at " /Ofull
  256. @PAUSE
  257.  
  258. :JJJ
  259.  
  260. CLS
  261. @echo ON
  262. @echo TEST JULIAN INPUT FORMATS
  263. @echo ─────────────────────────────────────────────────────────────────
  264. FDATE /Ff /Iccyyjjj /A1992045
  265. FDATE /Ff /Iccyyjjj /Atttt045
  266. FDATE /Ff /Iyyjjj /A92045
  267. FDATE /Ff /Iyyjjj /Att045
  268. FDATE /Ff /Iyyjjj /A92366
  269. FDATE /Ff /Iyyjjj /A93366
  270. @PAUSE
  271.  
  272. CLS
  273. @echo TEST JULIAN INPUT FORMATS
  274. @echo ─────────────────────────────────────────────────────────────────
  275. Fdate /Ff /Iyyjjj /Att-1
  276. Fdate /Ff /Iyyjjj /Att0
  277. Fdate /Ff /Iyyjjj /Att+1
  278. Fdate /Ff /Iyyjjj /Att-999
  279. Fdate /Ff /Iyyjjj /Att1000
  280. @PAUSE
  281. @echo OFF
  282.  
  283. CLS
  284. @echo TEST INPUT FORMATS (only YY specified, CC assumed.)
  285. @echo ─────────────────────────────────────────────────────────────────
  286. FDATE /Ff /Imm-dd-yy /A12-07-00
  287. FDATE /Ff /Imm-dd-yy /A12-07-10
  288. FDATE /Ff /Imm-dd-yy /A12-07-19
  289. FDATE /Ff /Imm-dd-yy /A12-07-20
  290. FDATE /Ff /Imm-dd-yy /A12-07-21
  291. FDATE /Ff /Imm-dd-yy /A12-07-91
  292. @PAUSE
  293.  
  294. CLS
  295. @echo off
  296. @echo TEST INPUT FORMATS HANDLING LEADING ZEROS
  297. @echo ─────────────────────────────────────────────────────────────────
  298. FDATE /Ff /Imm-dd-yy /A06-06-66
  299. FDATE /Ff /Imm-dd-yy /A6-06-66
  300. FDATE /Ff /Imm-dd-yy /A06-6-66
  301. FDATE /Ff /Imm-dd-yy /A6-6-66
  302. FDATE /Ff /A06-06-0001
  303. FDATE /Ff /A6-06-0001
  304. FDATE /Ff /A06-6-0001
  305. FDATE /Ff /A6-6-0001
  306. @PAUSE
  307.  
  308. @echo on
  309.  
  310. CLS
  311. @echo TEST /P (PREFIX) PARAMETER
  312. @echo ─────────────────────────────────────────────────────────────────
  313. FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
  314. FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
  315. FDATE /Ff /At /O"mn zd, ccyy" /P"Hoy es "        /Lsp
  316. @echo.
  317. @set  FDATE=
  318. FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
  319. @Echo off
  320. call FDATJUNK.BAT
  321. del FDATJUNK.BAT
  322. ECHO Value of FDATE environment variable is: %FDATE%
  323. set  FDATE=
  324. PAUSE
  325.  
  326. CLS
  327. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  328. echo ║                TEST   END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0)           ║
  329. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  330. @echo off
  331. fdate /Ff /A01-29-1992
  332. fdate /Ff /A01-30-1992
  333. fdate /Ff /A01-31-1992
  334. fdate /Ff /A02-29-1992
  335. fdate /Ff /A02-30-1992
  336. fdate /Ff /A02-31-1992
  337. @echo off
  338. PAUSE
  339.  
  340. :func
  341. CLS
  342. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  343. echo ║                TEST   FUNCTIONS                                             ║
  344. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  345. @echo on
  346. @echo.
  347. @echo TEST FUNCTION: F (FORMAT)
  348. @echo ─────────────────────────────────────────────────────────────────
  349. FDATE /Fformat /Atoday
  350. FDATE /Ff      /At
  351. FDATE /Ff
  352. @PAUSE
  353. @echo off
  354. CLS
  355. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
  356. @echo ─────────────────────────────────────────────────────────────────
  357. FDATE /Fw /A11-25-1992 /D5 /N-2 /P"2nd Thursday before 11-25-1992: "
  358. FDATE /Fw /A11-25-1992 /D5 /N-1 /P"1st Thursday before 11-25-1992: "
  359. FDATE /Ff /A11-25-1992 /D5 /N-1 /P"The actual day of.. 11-25-1992: "
  360. FDATE /Fw /A11-25-1992 /D5 /N1  /P"1st Thursday after  11-25-1992: "
  361. FDATE /Fw /A11-25-1992 /D5 /N2  /P"2nd Thursday after  11-25-1992: "
  362. @PAUSE
  363. @CLS
  364. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
  365. @echo ─────────────────────────────────────────────────────────────────
  366. FDATE /Fw /A11-26-1992 /D5 /N-2 /P"2nd Thursday before 11-26-1992: "
  367. FDATE /Fw /A11-26-1992 /D5 /N-1 /P"1st Thursday before 11-26-1992: "
  368. FDATE /Ff /A11-26-1992 /D5 /N-1 /P"The actual day of.. 11-26-1992: "
  369. FDATE /Fw /A11-26-1992 /D5 /N1  /P"1st Thursday after  11-26-1992: "
  370. FDATE /Fw /A11-26-1992 /D5 /N2  /P"2nd Thursday after  11-26-1992: "
  371. @PAUSE
  372. @echo off
  373. @CLS
  374. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  375. echo ║                TEST   /FW-RELATED ERROR MESSAGES                            ║
  376. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  377. FDATE /Fw /A11-26-1992 /D5 /N0    /P" 0th Thursday after 11-26-1992: "
  378. FDATE /Fw /A11-26-1992 /D5 /N100  /P"99th Thursday after 11-26-1992: "
  379. FDATE /Fw /A11-26-1992 /D5 /N-100 /P"99th Thursday before 11-26-1992: "
  380. @PAUSE
  381.  
  382. :comp
  383.  
  384. CLS
  385. @echo TEST COMP (DATE COMPARE) FUNCTION and default
  386. @echo ─────────────────────────────────────────────────────────────────
  387. @echo ON
  388. Fdate /Fcomp /A06-06-1992 /B06-06-1991
  389. Fdate /Fcomp /A06-06-1992 /B06-06-1992
  390. Fdate /Fcomp /A06-06-1992 /B06-06-1993
  391. Fdate /Fcomp
  392. @PAUSE
  393.  
  394. CLS
  395. @echo TEST TCOMP (TIME COMPARE) FUNCTION and default
  396. @echo ─────────────────────────────────────────────────────────────────
  397. @echo ON
  398. Fdate /FTcomp
  399. @ECHO XXXX>JUNKTEMP.BAT
  400. Fdate /FTcomp  /If /Ajunktemp.bat /Bfdatex.bat
  401. Fdate /FTcomp  /If /Bjunktemp.bat /Afdatex.bat
  402. Fdate /FTcomp  /If /Afdatex.bat   /Bfdatex.bat
  403. @del       JUNKTEMP.BAT
  404. @PAUSE
  405.  
  406. CLS
  407. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  408. @echo ─────────────────────────────────────────────────────────────────
  409. FDATE /Fdif /At /Bt
  410. FDATE /Fdif
  411. FDATE /Fdif /At /B01-01-1990
  412. FDATE /Fdif /A01-01-1990 /Bt
  413. FDATE /Fdif /A12-31-0008 /B01-01-0009
  414. FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
  415. FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
  416. @PAUSE
  417.  
  418. CLS
  419. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  420. @echo ─────────────────────────────────────────────────────────────────
  421. FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
  422. FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
  423. FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
  424. FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
  425. FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
  426. @PAUSE
  427.  
  428. @echo off
  429. CLS
  430. echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
  431. echo ───────────────────────────────────────────────────────────────────────────────
  432. echo on
  433. FDATE /Fadd /N1 /A12-31-0008 /Omm-dd-ccyy
  434. FDATE /Fadd /N1 /At  /Od1 /P"Tomorrow will be "
  435. FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
  436. @PAUSE
  437.  
  438. CLS
  439. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  440. @echo ─────────────────────────────────────────────────────────────────
  441. FDATE /Fadd /N1 /A12-31-0003
  442. FDATE /Fadd /N1 /A12-31-0099
  443. FDATE /Fadd /N1 /A12-31-0399
  444. FDATE /Fadd /N1 /A12-31-1899
  445. FDATE /Fadd /N1 /A12-31-1999
  446. @PAUSE
  447.  
  448. CLS
  449. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
  450. @echo ─────────────────────────────────────────────────────────────────
  451. FDATE /Fadd /N1 /A12-31-0004
  452. FDATE /Fadd /N1 /A12-31-0100
  453. FDATE /Fadd /N1 /A12-31-0400
  454. FDATE /Fadd /N1 /A12-31-1900
  455. FDATE /Fadd /N1 /A12-31-2000
  456. @PAUSE
  457.  
  458. CLS
  459. @echo TEST SUB
  460. @echo ─────────────────────────────────────────────────────────────────
  461. FDATE /Fsub /N1 /A12-31-0008
  462. FDATE /Fsub /N1 /At  /Od1 /P"Yesterday was "
  463. FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
  464. @PAUSE
  465.  
  466. CLS
  467. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
  468. @echo ─────────────────────────────────────────────────────────────────
  469. FDATE /Fsub /N1 /A12-31-0004
  470. FDATE /Fsub /N1 /A12-31-0100
  471. FDATE /Fsub /N1 /A12-31-0400
  472. FDATE /Fsub /N1 /A12-31-1900
  473. FDATE /Fsub /N1 /A12-31-2000
  474. @PAUSE
  475.  
  476. CLS
  477. @echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  478. @echo ─────────────────────────────────────────────────────────────────
  479. FDATE /Fsub /N1 /A01-01-0004
  480. FDATE /Fsub /N1 /A01-01-0100
  481. FDATE /Fsub /N1 /A01-01-0400
  482. FDATE /Fsub /N1 /A01-01-1900
  483. FDATE /Fsub /N1 /A01-01-2000
  484. @PAUSE
  485.  
  486. CLS
  487. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
  488. @echo ─────────────────────────────────────────────────────────────────
  489. FDATE /Fsub /N1 /A01-01-0005
  490. FDATE /Fsub /N1 /A01-01-0101
  491. FDATE /Fsub /N1 /A01-01-0401
  492. FDATE /Fsub /N1 /A01-01-1901
  493. FDATE /Fsub /N1 /A01-01-2001
  494. @PAUSE
  495.  
  496. :errmsg
  497. CLS
  498. @echo TEST ERROR MESSAGES
  499. @echo ─────────────────────────────────────────────────────────────────
  500. @echo on
  501. FDATE /Ff /At /Ojunktest
  502. FDATE /Ff /A18880101 /Ijunktest /Ominute#
  503. @PAUSE
  504.  
  505. CLS
  506. FDATE /Ff   /Iccyymmdd  /A18880101 /Ominute#
  507. FDATE /Ff   /Iccyymmdd  /A21010101 /Osecond#
  508. FDATE /Fsub /Iccyymmdd  /A00010101 /n1 /od1
  509. FDATE /Fadd /Iccyymmdd  /A99991231 /n1 /od1
  510. @PAUSE
  511.  
  512. CLS
  513. FDATE /Ff   /A01-01-xxxx
  514. FDATE /Fadd /A01-01-1992 /N
  515. @PAUSE
  516.  
  517. CLS
  518. FDATE /Fdif /?01-01-1992 /B01-02-1992
  519. FDATE /Fdif /A01-01-1992 /?01-02-1992
  520. @PAUSE
  521.  
  522. CLS
  523. FDATE /Ff   /Imm-dd-yy   /A01-01-1
  524. FDATE /Ff   /Imm-dd-yy   /A01-01-199
  525. FDATE /Ff   /A01-01-199
  526. FDATE /Ff   /A01-01-19922
  527. @PAUSE
  528.  
  529. :LY
  530. CLS
  531. @echo on
  532. @echo TEST LEAPYR (#1)
  533. @echo ─────────────────────────────────────────────────────────────────
  534. FDATE /Ff /A01-01-0001 /Oly
  535. FDATE /Ff /A01-01-0004 /Oly
  536. FDATE /Ff /A01-01-0005 /Oly
  537. FDATE /Ff /A01-01-0100 /Oly
  538. FDATE /Ff /A01-01-0400 /Oly
  539. FDATE /Ff /A01-01-1600 /Oly
  540. @PAUSE
  541.  
  542. CLS
  543. @echo TEST LEAPYR (#2)
  544. @echo ─────────────────────────────────────────────────────────────────
  545. FDATE /Ff /A01-01-1900 /Oly
  546. FDATE /Ff /A01-01-1984 /Oly
  547. FDATE /Ff /A01-01-1991 /Oly
  548. FDATE /Ff /A01-01-1992 /Oly
  549. FDATE /Ff /A01-01-2000 /Oly
  550. @PAUSE
  551.  
  552. CLS
  553. @echo TEST "JULIAN" OUTPUT FORMATS
  554. @echo ─────────────────────────────────────────────────────────────────
  555. FDATE /Ff /At /Ojulian
  556. FDATE /Ff /At /Oday#
  557. FDATE /Ff /At /Ominute#
  558. FDATE /Ff /At /Osecond#
  559. FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
  560. FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
  561. @PAUSE
  562.  
  563. @ECHO off
  564. :ABSDATES
  565. CLS
  566. echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
  567. echo ─────────────────────────────────────────────────────────────────
  568. ECHO.
  569. FDATE /Ff /A01-01-0001 /P"First day of year 0001: "  /Oday#
  570. ECHO.
  571. FDATE /Ff /A01-01-1900 /P"First day of year 1900: " /Oday#
  572. ECHO.
  573. FDATE /Ff /A01-01-1992 /P"First day of year 1992: " /Oday#
  574. ECHO.
  575. FDATE /Ff /At          /P"Today's calendar date : "
  576. FDATE /Ff /At /Oday#   /P"Today's absolute date : "
  577. ECHO.
  578. FDATE /Ff /A12-31-2000 /P"Last day of year 2000: " /Oday#
  579. ECHO.
  580. FDATE /Ff /A12-31-9999 /P"Last day of year 9999: " /Oday#
  581. PAUSE
  582.  
  583. :GET
  584. CLS
  585. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  586. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET                 ║
  587. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  588. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  589. echo ║   If you do not have GET installed,                                         ║
  590. echo ║   you will see messages saying "Bad command of file name".                  ║
  591. echo ║   This is normal and nothing to worry about.                                ║
  592. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  593. @echo.
  594.  
  595. @echo on
  596. @set date1=
  597. @echo.
  598. FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
  599. @echo DATE1 environment variable is %DATE1%
  600. @set date1=
  601. @echo.
  602. FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
  603. @echo DATE1 environment variable is %DATE1%
  604. @set date1=
  605. @echo off
  606. @PAUSE
  607.  
  608. :STRINGS
  609. CLS
  610. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  611. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS             ║
  612. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  613. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  614. echo ║   If you do not have STRINGS installed,                                     ║
  615. echo ║   you will see messages saying "Bad command of file name".                  ║
  616. echo ║   This is normal and nothing to worry about.                                ║
  617. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  618. @echo.
  619.  
  620. @echo on
  621. @set date1=
  622. @echo.
  623. FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
  624. @echo DATE1 environment variable is %DATE1%
  625. @set date1=
  626. @echo.
  627. FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
  628. @echo DATE1 environment variable is %DATE1%
  629. @set date1=
  630. @echo.
  631. @echo off
  632. @PAUSE
  633.  
  634. @echo off
  635. CLS
  636. echo.
  637. echo The final demonstration uses the DOS "CALL" statement,
  638. echo so it requires DOS 3.3 or greater.
  639. echo.
  640. echo If you do not have DOS 3.3+,
  641. echo press Control-Break or Control-C now to stop execution of the batch file.
  642. echo.
  643. echo Otherwise,
  644. pause
  645.  
  646.  
  647. :TIMER
  648. @echo off
  649. cls
  650. ECHO The demo will run for 1 - 60 seconds.
  651. echo.
  652. ECHO ────────────────────────────────────────────────────────────────────────
  653. ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
  654. echo.
  655. echo If you leave long batch files to run overnight, this techique can
  656. echo be used to record how long each program in the batch file ran.
  657. echo.
  658. echo The technique for setting the values of environment variables in this
  659. echo part of the demo uses temporary batch files and CALL statements.
  660. echo If you have a program such as GET or STRINGS, you can use it instead.
  661. ECHO ────────────────────────────────────────────────────────────────────────
  662. echo.
  663. PAUSE
  664. cls
  665.  
  666. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "
  667.  
  668. REM  GET PROGRAM BEGIN TIME, IN MINUTES
  669. @set BegM=
  670. @set EndM=
  671. @set RunM=
  672. FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
  673. CALL FDATJUNK.BAT
  674.  
  675. REM  GET PROGRAM BEGIN TIME, IN SECONDS
  676. set BegS=
  677. set EndS=
  678. set RunS=
  679. FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
  680. CALL FDATJUNK.BAT
  681.  
  682. rem ───────────────────────────────────────────────────────────────
  683. rem [simulate execution of a program: loop for a minute or less]
  684. rem [In a real batch file, you would put your program statements here]
  685. rem ───────────────────────────────────────────────────────────────
  686. :BegLoop
  687.    FDATE /Ff /At /Osecond# /P"SET EndS=" >FDATJUNK.BAT
  688.    CALL FDATJUNK.BAT
  689.    FDATE /Ff /At /Ominute# /P"SET EndM=" >FDATJUNK.BAT
  690.    CALL FDATJUNK.BAT
  691.  
  692.    rem  calculate run time (difference between start time and end time)
  693.    FDATE /F#dif /A%EndM% /B%BegM% /P"SET RunM=" > FDATJUNK.BAT
  694.    CALL FDATJUNK.BAT
  695.  
  696.    rem  calculate run time (difference between start time and end time)
  697.    FDATE /F#dif /A%EndS% /B%BegS% /P"SET RunS=" > FDATJUNK.BAT
  698.    CALL FDATJUNK.BAT
  699.    echo      TESTPGM running, elapsed time: %RunS% seconds
  700.  
  701.    if (%RunM%)==()  goto EndLoop
  702.    if (%RunM%)==(0) goto BegLoop
  703. :EndLoop
  704. rem ───────────────────────────────────────────────────────────────
  705.  
  706. REM  GET PROGRAM END TIME IN SECONDS
  707. FDATE /Ff /At /Osecond# /P"SET EndS=" > FDATJUNK.BAT
  708. CALL FDATJUNK.BAT
  709.  
  710. REM  GET PROGRAM END TIME IN MINUTES
  711. FDATE /Ff /At /Ominute# /P"SET EndM=" > FDATJUNK.BAT
  712. CALL FDATJUNK.BAT
  713.  
  714. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
  715. echo.
  716.  
  717. echo TESTPGM: Program end   time (Julian seconds): %EndS%
  718. echo TESTPGM: Program begin time (Julian seconds): %BegS%
  719. rem  calculate run time (difference between start time and end time)
  720. FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
  721. set BegS=
  722. set EndS=
  723.  
  724. echo.
  725. echo TESTPGM: Program end   time (Julian minutes): %EndM%
  726. echo TESTPGM: Program begin time (Julian minutes): %BegM%
  727. rem  calculate run time (difference between start time and end time)
  728. FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
  729. DEL  FDATJUNK.BAT
  730. set BegM=
  731. set EndM=
  732. set RunM=
  733. set RunS=
  734. echo.
  735. PAUSE
  736.  
  737. cls
  738. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  739. echo ║                     END OF FDATE TEST BATCH FILE                            ║
  740. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  741. echo.
  742. echo I hope that you have found this demo batch file helpful,
  743. echo and that you will find FDATE useful.
  744. echo.
  745. echo                         -- Stephen Ferg
  746. echo.
  747. echo.
  748. echo.
  749.  
  750.  
  751. if not exist holidays.bat goto endit
  752. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  753. echo ║             READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE               ║
  754. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  755. pause
  756. HOLIDAYS.BAT
  757. :ENDIT
  758.